package exceptiondemo;

import java.io.FileNotFoundException;

public class TestDriver1 {

    public static void main(String[] args) {
        //调用子方法
        test01();

        //调用子方法
        try {
            test02();
        } catch (Exception e) {
            e.printStackTrace();//发生非异常的业务逻辑代码
        }

        //异常应用
        System.out.println("===========================================");
        test03();
    }

    /**
     * 异常处理机制
     */
    public  static  void  test01(){
        //调用子方法
        try{
            test01_sub();
        }catch (FileNotFoundException e){
            e.printStackTrace();
        }

    }

    /**
     * 文件没有发现异常
     * 抛出异常
     * 异常处理---throws方式
     * @throws FileNotFoundException
     */
    public  static  void test01_sub() throws  FileNotFoundException{
        FileNotFoundException fileNotFoundException = new FileNotFoundException("");
    }

    /**
     * 手动抛出异常
     * @throws Exception
     */
    public  static  void  test02() throws  Exception{
        int i = 6;
        int  j = 5;
        if (i!=0){
            int k = j/i;//程序正常进行
            System.out.println("k="+k);

        }else {
            //手动抛出异常，进行预警
            throw  new Exception("除数不能W为零");
        }

    }

    /**
     * 异常应用
     * 给定一个字符串，手动判断字符串的长度
     */
    public static  void  test03(){
        //被处理的字符串
        String string = "dcdbucbud";
        System.out.println("被处理的字符串："+string);
        //定义字符串的个数
        int count  = 0;
        try {
            //遍历字符串的每一个字符
            while (true){
                string.charAt(++count);
            }
        }catch (Exception e){
            System.out.println("字符串的长度:"+count);
        }
    }
}
